
package com.hlkj.pay.vo.order.resp;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.pay.vo.BaseReq;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * @author HlpayTeam
 * @date 2024/10/09 11:37
 */
@Data
public class PayOrderResp extends BaseReq {

    @Schema(description = "商户订单号")
    private String mchOrderNo;

    @Schema(description = "平台订单号")
    private String payOrderNo;

    @Schema(description = "渠道订单号 第三方渠道订单号")
    private String channelOrderNo;

    @Schema(description = "支付机构订单号 微信支付宝等平台订单号")
    private String insOrderNo;

    @Schema(description = "支付数据类型，pay_url-支付链接，data-数据体，none-空支付参数")
    private String payDataType;

    @Schema(description = "跳转支付数据")
    private String payInfo;

    @Schema(description = "只有条码支付才会返回，条码订单状态，订单状态，1=初始化，2=支付中，3=支付成功，4=已撤销，5=订单关闭 6=订单关闭中 7=支付失败")
    private Integer state;

    @Schema(description = "订单金额 单位元")
    private String amount;
    /**
     * 订单金额
     */
    @Schema(description = "实际支付金额 单位元")
    private String payAmount;

    @Schema(description = "支付类型 WECHAT: 微信 ALIPAY: 支付宝 UNION_APY: 云闪付 DIGITAL: 数字人民币")
    private String payType;

    @Schema(description = "支付方式 Native- 扫码支付；SCAN- 反扫支付； JSAPI-微信JSAPI、支付宝JSAPI支付、银联JSAPI支付； SIMPLE-简易支付 MINI_APP-微信小程序支付、支付宝小程序支付 H5-h5 支付 APP-APP 支付")
    private String paySubType;

    @Schema(description = "场景类型 1 线下 2 线上 不传默认线下")
    private Integer sceneType;

    @Schema(description = "服务商编码")
    private String providerCode;

    @Schema(description = "通道编码")
    private String channelCode;

    @Schema(description = "子通道id")
    private Long subChannelId;
    @Schema(description = "子商户id")
    private String subMchId;

    @Schema(description = "平台扣手续费")
    private String feeAmount;

    @Schema(description = "平台扣手续费率")
    private String feeRate;

    @Schema(description = "通道扣手续费")
    private String channelFeeAmount;

    @Schema(description = "通道扣手续费率")
    private String channelFeeRate;

    @Schema(description = "实际记账金额 即 amount-feeAmount-channelFeeAmount")
    private String settlementAmount;

    @Schema(description = "商品标题")
    private String subject;

    @Schema(description = "商品描述")
    private String description;

    @Schema(description = "支付成功时间")
    private Long successTime;

    @Schema(description = "分账信息")
    private String acctInfos;

    @Schema(description = "易生营销信息串")
    private String marketingOrdersJson;
    
}
